Within a Code Division Multiple Access (CDMA), and other communication system types, communicated information, either voice or data, is carried between communication resources, e.g., a radio telephone and a base station, on a communication channel. Within broadband, spread spectrum communication systems, such as CDMA based communication systems in accordance with Interim Standard IS-95B, a spreading code is used to define the communication channel.
CDMA systems have the capability of transmitting user information at variable rates. For example in voice calls the data rate of each speech frame is varied based on the speech activity. When a user is speaking, compressed speech information is typically sent at full rate. Between words and sentences the data rate is typically reduced to eighth rate. Half and quarter rates are also used for speech to quiet transitions and when data rate reductions are required, such as to allow for multiplexing of signaling information or to increase system capacity. In data services calls, full, half, quarter and eighth rate frames can be selected based on the data rate of the user requested information.
In CDMA communication systems the receiver does not know apriori the data rate of a received frame. The receiver has to apply the decoding mechanism for each of the allowable frame rates, and look at certain characteristics of the received data frames to determine the probable frame rate that the frame was transmitted at. Characteristics that are usually employed are Symbol Error Rate (SER), CRC verification and Viterbi decoder Quality bits. SER is an estimate of the number of symbol errors in the convolutionally coded data that is obtained by re-encoding the information sequence recovered by convolutional decoding and accumulating the number of re-encoded channel symbols found to be different from the received symbols. Some of the frame rates, namely full and half rate for IS-95, are protected by a CRC codeword. These are generated by the transmitter by performing a type of degenerate cyclic coding on the data. The resulting CRC is convolutionally encoded and transmitted with the data. The receiver also generates the CRC of the received convolutionally decoded data, and compares it with the CRC appended by the transmitter. Viterbi decoders are typically used for convolutional decoding. In addition to the data sequence they sometimes provide a Quality bit indication that indicate whether a decoded sequence deviated excessively from a valid data sequence.
The decision as to what rate was employed by the transmitter is typically performed by the receiver's Rate Determination Algorithm (RDA). Although RDAs typically do a good job of distinguishing between frame rates they are still subject to falsing. For example, a frame that was transmitted as an eighth rate frame can be incorrectly interpreted by the receiver as a full rate frame. The effects of these mis-determined rates can be severe, sometimes resulting in severe audio artifacts in voice calls and a reduction in data throughput for data calls.
The forward error correcting (FEC) protocols used in IS-95 and known in the art have also been found to contribute to falsing. In particular, FEC techniques have been shown to be non-optimal in providing adequate code distance between a transmitted sub-rate frame and the nearest possible fill rate frame. For example, when presented with silence, the Enhanced Variable Rate Codec (EVRC) used in CDMA systems has been observed to converge on the 16 bit eighth rate frame 0740H, and repeat this frame over and over. Simulations of the IS-95 FEC scheme shows that this eighth rate when passed through the eighth rate convolutional encoder and data repeater, could be decoded by a full rate decoder with a very low SER. When the encoded frame is punctured by power control bits and suffers a few bit errors on the air interface it has been observed that the CRC can also pass. Therefore, a need exists for a method and apparatus for FEC that reduces falsing within a communication system.